The development of a computer system requires significant engineering effort over a development cycle that may span several years for systems having multiple processors. Computer systems generally include several types of integrated circuits, such as processors, memory controllers, and input/output controllers. To reduce the cost and schedule for developing and manufacturing a computer system, certain integrated circuits of the computer system may be purchased from an external supplier. The remaining integrated circuits that are not purchased may be developed by one or more design teams. The development effort for a computer system may be divided into a design phase that precedes initial production of the non-purchased integrated circuits and a debugging/integration phase that uses prototype computer systems built using the purchased integrated circuits and the initial production of the non-purchased integrated circuits. Quickly completing the design phase and the debugging phase can be crucial for the successful acceptance of a computer system in the computer market.
A challenge during the design phase is the management of the development schedule. Ideally, the design phase concludes with the various integrated circuits becoming simultaneously available because typically the prototype computer systems cannot be built until all integrated circuits are available. However, the development schedules for the non-purchased integrated circuits and the availability of samples of purchased integrated circuits can be somewhat unpredictable, such that one of the integrated circuits is likely to be delayed. Management of the design phase schedule can be challenging due to the unpredictable schedules for the individual integrated circuits and the difficulty in coordinating between the project design teams for the integrated circuits and the external suppliers.
The debugging of one integrated circuit during the debugging phase may be interrelated with the debugging of the other integrated circuits, and this interrelation can delay the completion of the debugging phase. For example, a significant defect may be discovered in one integrated circuit, and the defect may limit the functions that can be tested, thereby delaying the discovery of other potential defects until the defect is fixed. Fixing each defect may require several months in the production of a modified integrated circuit. The serialized discovery of the defects in each integrated circuit can delay the completion of the debugging phase and ultimately delay delivery of the product to the market.
The present invention may address one or more of the above issues.